import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { ThreedComponent } from './threed.component';
import { RepairingComponent } from './repairing/repairing.component';
import { ConversionComponent } from './conversion/conversion.component';
import { ConvertingComponent } from './conversion/converting/converting.component';
import { ConvertDownloadComponent } from './conversion/convert-download/convert-download.component';
import { ErrorpageComponent } from './errorpage/errorpage.component';
import { ViewerComponent } from './viewer/viewer.component';
import { MeasurementComponent } from './measurement/measurement.component';

const routes: Routes = [
  { path: '', component: ThreedComponent, data: { title: 'threed' } },
  {
    path: 'repairing', component: RepairingComponent,
    children: [
      { path: '3ds', component: RepairingComponent },
      { path: '3mf', component: RepairingComponent },
      { path: 'amf', component: RepairingComponent },
      { path: 'ase', component: RepairingComponent },
      { path: 'rvm', component: RepairingComponent },
      { path: 'dae', component: RepairingComponent },
      { path: 'drc', component: RepairingComponent },
      { path: 'dxf', component: RepairingComponent },
      { path: 'fbx', component: RepairingComponent },
      { path: 'gltf', component: RepairingComponent },
      { path: 'glb', component: RepairingComponent },
      { path: 'obj', component: RepairingComponent },
      { path: 'ply', component: RepairingComponent },
      { path: 'jt', component: RepairingComponent },
      { path: 'stl', component: RepairingComponent },
      { path: 'u3d', component: RepairingComponent },
      { path: 'vrml', component: RepairingComponent },
      { path: 'x', component: RepairingComponent },
    ]
  },
  {
    path: 'viewer', component: ViewerComponent,
    children: [
      { path: '3ds', component: ViewerComponent },
      { path: '3mf', component: ViewerComponent },
      { path: 'amf', component: ViewerComponent },
      { path: 'ase', component: ViewerComponent },
      { path: 'rvm', component: ViewerComponent },
      { path: 'dae', component: ViewerComponent },
      { path: 'drc', component: ViewerComponent },
      { path: 'dxf', component: ViewerComponent },
      { path: 'fbx', component: ViewerComponent },
      { path: 'gltf', component: ViewerComponent },
      { path: 'glb', component: ViewerComponent },
      { path: 'obj', component: ViewerComponent },
      { path: 'ply', component: ViewerComponent },
      { path: 'jt', component: ViewerComponent },
      { path: 'stl', component: ViewerComponent },
      { path: 'u3d', component: ViewerComponent },
      { path: 'vrml', component: ViewerComponent },
      { path: 'x', component: ViewerComponent },
    ]
  },
  {
    path: 'measurement', component: MeasurementComponent,
    children: [
      { path: '3ds', component: MeasurementComponent },
      { path: '3mf', component: MeasurementComponent },
      { path: 'amf', component: MeasurementComponent },
      { path: 'ase', component: MeasurementComponent },
      { path: 'rvm', component: MeasurementComponent },
      { path: 'dae', component: MeasurementComponent },
      { path: 'drc', component: MeasurementComponent },
      { path: 'dxf', component: MeasurementComponent },
      { path: 'fbx', component: MeasurementComponent },
      { path: 'gltf', component: MeasurementComponent },
      { path: 'glb', component: MeasurementComponent },
      { path: 'obj', component: MeasurementComponent },
      { path: 'ply', component: MeasurementComponent },
      { path: 'jt', component: MeasurementComponent },
      { path: 'stl', component: MeasurementComponent },
      { path: 'u3d', component: MeasurementComponent },
      { path: 'vrml', component: MeasurementComponent },
      { path: 'x', component: MeasurementComponent },
    ]
  },
  {
    path: 'conversion', component: ConversionComponent,
    children: [
      { path: '', component: ConvertingComponent },
      { path: 'fbx-to-obj', component: ConvertingComponent },
      { path: 'fbx-to-3ds', component: ConvertingComponent },
      { path: 'fbx-to-drc', component: ConvertingComponent },
      { path: 'stl-to-fbx', component: ConvertingComponent },
      { path: 'stl-to-obj', component: ConvertingComponent },
      { path: 'stl-to-3ds', component: ConvertingComponent },
      { path: 'stl-to-drc', component: ConvertingComponent },
      { path: 'obj-to-fbx', component: ConvertingComponent },
      { path: 'obj-to-3ds', component: ConvertingComponent },
      { path: 'obj-to-drc', component: ConvertingComponent },
      { path: '3ds-to-fbx', component: ConvertingComponent },
      { path: '3ds-to-obj', component: ConvertingComponent },
      { path: '3ds-to-drc', component: ConvertingComponent },
      { path: 'gltf-to-fbx', component: ConvertingComponent },
      { path: 'gltf-to-obj', component: ConvertingComponent },
      { path: 'gltf-to-3ds', component: ConvertingComponent },
      { path: 'gltf-to-drc', component: ConvertingComponent },
      { path: 'drc-to-obj', component: ConvertingComponent },
      { path: 'drc-to-fbx', component: ConvertingComponent },
      { path: 'drc-to-3ds', component: ConvertingComponent },
      { path: 'rvm-to-fbx', component: ConvertingComponent },
      { path: 'rvm-to-obj', component: ConvertingComponent },
      { path: 'rvm-to-3ds', component: ConvertingComponent },
      { path: 'rvm-to-drc', component: ConvertingComponent },
      { path: 'pdf-to-fbx', component: ConvertingComponent },
      { path: 'pdf-to-obj', component: ConvertingComponent },
      { path: 'pdf-to-3ds', component: ConvertingComponent },
      { path: 'pdf-to-drc', component: ConvertingComponent },
      { path: 'x-to-fbx', component: ConvertingComponent },
      { path: 'x-to-obj', component: ConvertingComponent },
      { path: 'x-to-3ds', component: ConvertingComponent },
      { path: 'x-to-drc', component: ConvertingComponent },
      { path: 'jt-to-fbx', component: ConvertingComponent },
      { path: 'jt-to-obj', component: ConvertingComponent },
      { path: 'jt-to-3ds', component: ConvertingComponent },
      { path: 'jt-to-drc', component: ConvertingComponent },
      { path: 'dxf-to-fbx', component: ConvertingComponent },
      { path: 'dxf-to-obj', component: ConvertingComponent },
      { path: 'dxf-to-3ds', component: ConvertingComponent },
      { path: 'dxf-to-drc', component: ConvertingComponent },
      { path: 'ply-to-fbx', component: ConvertingComponent },
      { path: 'ply-to-obj', component: ConvertingComponent },
      { path: 'ply-to-3ds', component: ConvertingComponent },
      { path: 'ply-to-drc', component: ConvertingComponent },
      { path: '3mf-to-fbx', component: ConvertingComponent },
      { path: '3mf-to-obj', component: ConvertingComponent },
      { path: '3mf-to-3ds', component: ConvertingComponent },
      { path: '3mf-to-drc', component: ConvertingComponent },
      { path: 'ase-to-fbx', component: ConvertingComponent },
      { path: 'ase-to-obj', component: ConvertingComponent },
      { path: 'ase-to-3ds', component: ConvertingComponent },
      { path: 'ase-to-drc', component: ConvertingComponent },
      { path: 'dae-to-fbx', component: ConvertingComponent },
      { path: 'dae-to-obj', component: ConvertingComponent },
      { path: 'dae-to-3ds', component: ConvertingComponent },
      { path: 'dae-to-drc', component: ConvertingComponent },
      { path: 'dae-to-amf', component: ConvertingComponent },
      { path: 'dae-to-rvm', component: ConvertingComponent },
      { path: 'dae-to-gltf', component: ConvertingComponent },
      { path: 'dae-to-glb', component: ConvertingComponent },
      { path: 'dae-to-pdf', component: ConvertingComponent },
      { path: 'dae-to-html', component: ConvertingComponent },
      { path: 'dae-to-ply', component: ConvertingComponent },
      { path: 'dae-to-stl', component: ConvertingComponent },
      { path: 'dae-to-u3d', component: ConvertingComponent },
      { path: 'u3d-to-fbx', component: ConvertingComponent },
      { path: 'u3d-to-obj', component: ConvertingComponent },
      { path: 'u3d-to-3ds', component: ConvertingComponent },
      { path: 'u3d-to-drc', component: ConvertingComponent },
      { path: 'u3d-to-amf', component: ConvertingComponent },
      { path: 'u3d-to-rvm', component: ConvertingComponent },
      { path: 'u3d-to-dae', component: ConvertingComponent },
      { path: 'u3d-to-gltf', component: ConvertingComponent },
      { path: 'u3d-to-glb', component: ConvertingComponent },
      { path: 'u3d-to-pdf', component: ConvertingComponent },
      { path: 'u3d-to-html', component: ConvertingComponent },
      { path: 'u3d-to-ply', component: ConvertingComponent },
      { path: 'u3d-to-stl', component: ConvertingComponent },
      { path: 'vrml-to-fbx', component: ConvertingComponent },
      { path: 'vrml-to-obj', component: ConvertingComponent },
      { path: 'vrml-to-3ds', component: ConvertingComponent },
      { path: 'vrml-to-drc', component: ConvertingComponent },
      { path: 'vrml-to-amf', component: ConvertingComponent },
      { path: 'vrml-to-rvm', component: ConvertingComponent },
      { path: 'vrml-to-dae', component: ConvertingComponent },
      { path: 'vrml-to-gltf', component: ConvertingComponent },
      { path: 'vrml-to-glb', component: ConvertingComponent },
      { path: 'vrml-to-pdf', component: ConvertingComponent },
      { path: 'vrml-to-html', component: ConvertingComponent },
      { path: 'vrml-to-ply', component: ConvertingComponent },
      { path: 'vrml-to-stl', component: ConvertingComponent },
      { path: 'vrml-to-u3d', component: ConvertingComponent },
      { path: 'glb-to-fbx', component: ConvertingComponent },
      { path: 'glb-to-obj', component: ConvertingComponent },
      { path: 'glb-to-3ds', component: ConvertingComponent },
      { path: 'glb-to-drc', component: ConvertingComponent },
      { path: 'glb-to-amf', component: ConvertingComponent },
      { path: 'glb-to-rvm', component: ConvertingComponent },
      { path: 'glb-to-dae', component: ConvertingComponent },
      { path: 'glb-to-gltf', component: ConvertingComponent },
      { path: 'glb-to-pdf', component: ConvertingComponent },
      { path: 'glb-to-html', component: ConvertingComponent },
      { path: 'glb-to-ply', component: ConvertingComponent },
      { path: 'glb-to-stl', component: ConvertingComponent },
      { path: 'glb-to-u3d', component: ConvertingComponent },
      { path: 'amf-to-fbx', component: ConvertingComponent },
      { path: 'amf-to-obj', component: ConvertingComponent },
      { path: 'amf-to-3ds', component: ConvertingComponent },
      { path: 'amf-to-drc', component: ConvertingComponent },
      { path: 'amf-to-rvm', component: ConvertingComponent },
      { path: 'amf-to-dae', component: ConvertingComponent },
      { path: 'amf-to-gltf', component: ConvertingComponent },
      { path: 'amf-to-glb', component: ConvertingComponent },
      { path: 'amf-to-pdf', component: ConvertingComponent },
      { path: 'amf-to-html', component: ConvertingComponent },
      { path: 'amf-to-ply', component: ConvertingComponent },
      { path: 'amf-to-stl', component: ConvertingComponent },
      { path: 'amf-to-u3d', component: ConvertingComponent },
      { path: 'ase-to-amf', component: ConvertingComponent },
      { path: 'ase-to-rvm', component: ConvertingComponent },
      { path: 'ase-to-dae', component: ConvertingComponent },
      { path: 'ase-to-gltf', component: ConvertingComponent },
      { path: 'ase-to-glb', component: ConvertingComponent },
      { path: 'ase-to-pdf', component: ConvertingComponent },
      { path: 'ase-to-html', component: ConvertingComponent },
      { path: 'ase-to-ply', component: ConvertingComponent },
      { path: 'ase-to-stl', component: ConvertingComponent },
      { path: 'ase-to-u3d', component: ConvertingComponent },
      { path: 'fbx-to-amf', component: ConvertingComponent },
      { path: 'fbx-to-rvm', component: ConvertingComponent },
      { path: 'fbx-to-dae', component: ConvertingComponent },
      { path: 'fbx-to-gltf', component: ConvertingComponent },
      { path: 'fbx-to-glb', component: ConvertingComponent },
      { path: 'fbx-to-pdf', component: ConvertingComponent },
      { path: 'fbx-to-html', component: ConvertingComponent },
      { path: 'fbx-to-ply', component: ConvertingComponent },
      { path: 'fbx-to-stl', component: ConvertingComponent },
      { path: 'fbx-to-u3d', component: ConvertingComponent },
      { path: 'stl-to-amf', component: ConvertingComponent },
      { path: 'stl-to-rvm', component: ConvertingComponent },
      { path: 'stl-to-dae', component: ConvertingComponent },
      { path: 'stl-to-gltf', component: ConvertingComponent },
      { path: 'stl-to-glb', component: ConvertingComponent },
      { path: 'stl-to-pdf', component: ConvertingComponent },
      { path: 'stl-to-html', component: ConvertingComponent },
      { path: 'stl-to-ply', component: ConvertingComponent },
      { path: 'stl-to-u3d', component: ConvertingComponent },
      { path: 'obj-to-amf', component: ConvertingComponent },
      { path: 'obj-to-rvm', component: ConvertingComponent },
      { path: 'obj-to-dae', component: ConvertingComponent },
      { path: 'obj-to-gltf', component: ConvertingComponent },
      { path: 'obj-to-glb', component: ConvertingComponent },
      { path: 'obj-to-pdf', component: ConvertingComponent },
      { path: 'obj-to-html', component: ConvertingComponent },
      { path: 'obj-to-ply', component: ConvertingComponent },
      { path: 'obj-to-stl', component: ConvertingComponent },
      { path: 'obj-to-u3d', component: ConvertingComponent },
      { path: '3ds-to-amf', component: ConvertingComponent },
      { path: '3ds-to-rvm', component: ConvertingComponent },
      { path: '3ds-to-dae', component: ConvertingComponent },
      { path: '3ds-to-gltf', component: ConvertingComponent },
      { path: '3ds-to-glb', component: ConvertingComponent },
      { path: '3ds-to-pdf', component: ConvertingComponent },
      { path: '3ds-to-html', component: ConvertingComponent },
      { path: '3ds-to-ply', component: ConvertingComponent },
      { path: '3ds-to-stl', component: ConvertingComponent },
      { path: '3ds-to-u3d', component: ConvertingComponent },
      { path: 'gltf-to-amf', component: ConvertingComponent },
      { path: 'gltf-to-rvm', component: ConvertingComponent },
      { path: 'gltf-to-dae', component: ConvertingComponent },
      { path: 'gltf-to-glb', component: ConvertingComponent },
      { path: 'gltf-to-pdf', component: ConvertingComponent },
      { path: 'gltf-to-html', component: ConvertingComponent },
      { path: 'gltf-to-ply', component: ConvertingComponent },
      { path: 'gltf-to-stl', component: ConvertingComponent },
      { path: 'gltf-to-u3d', component: ConvertingComponent },
      { path: 'drc-to-amf', component: ConvertingComponent },
      { path: 'drc-to-rvm', component: ConvertingComponent },
      { path: 'drc-to-dae', component: ConvertingComponent },
      { path: 'drc-to-gltf', component: ConvertingComponent },
      { path: 'drc-to-glb', component: ConvertingComponent },
      { path: 'drc-to-pdf', component: ConvertingComponent },
      { path: 'drc-to-html', component: ConvertingComponent },
      { path: 'drc-to-ply', component: ConvertingComponent },
      { path: 'drc-to-stl', component: ConvertingComponent },
      { path: 'drc-to-u3d', component: ConvertingComponent },
      { path: 'rvm-to-amf', component: ConvertingComponent },
      { path: 'rvm-to-dae', component: ConvertingComponent },
      { path: 'rvm-to-gltf', component: ConvertingComponent },
      { path: 'rvm-to-glb', component: ConvertingComponent },
      { path: 'rvm-to-pdf', component: ConvertingComponent },
      { path: 'rvm-to-html', component: ConvertingComponent },
      { path: 'rvm-to-ply', component: ConvertingComponent },
      { path: 'rvm-to-stl', component: ConvertingComponent },
      { path: 'rvm-to-u3d', component: ConvertingComponent },
      { path: 'pdf-to-amf', component: ConvertingComponent },
      { path: 'pdf-to-rvm', component: ConvertingComponent },
      { path: 'pdf-to-dae', component: ConvertingComponent },
      { path: 'pdf-to-gltf', component: ConvertingComponent },
      { path: 'pdf-to-glb', component: ConvertingComponent },
      { path: 'pdf-to-html', component: ConvertingComponent },
      { path: 'pdf-to-ply', component: ConvertingComponent },
      { path: 'pdf-to-stl', component: ConvertingComponent },
      { path: 'pdf-to-u3d', component: ConvertingComponent },
      { path: 'x-to-rvm', component: ConvertingComponent },
      { path: 'x-to-amf', component: ConvertingComponent },
      { path: 'x-to-dae', component: ConvertingComponent },
      { path: 'x-to-gltf', component: ConvertingComponent },
      { path: 'x-to-glb', component: ConvertingComponent },
      { path: 'x-to-pdf', component: ConvertingComponent },
      { path: 'x-to-html', component: ConvertingComponent },
      { path: 'x-to-ply', component: ConvertingComponent },
      { path: 'x-to-stl', component: ConvertingComponent },
      { path: 'x-to-u3d', component: ConvertingComponent },
      { path: 'jt-to-amf', component: ConvertingComponent },
      { path: 'jt-to-rvm', component: ConvertingComponent },
      { path: 'jt-to-dae', component: ConvertingComponent },
      { path: 'jt-to-gltf', component: ConvertingComponent },
      { path: 'jt-to-glb', component: ConvertingComponent },
      { path: 'jt-to-pdf', component: ConvertingComponent },
      { path: 'jt-to-html', component: ConvertingComponent },
      { path: 'jt-to-ply', component: ConvertingComponent },
      { path: 'jt-to-stl', component: ConvertingComponent },
      { path: 'jt-to-u3d', component: ConvertingComponent },
      { path: 'dxf-to-amf', component: ConvertingComponent },
      { path: 'dxf-to-rvm', component: ConvertingComponent },
      { path: 'dxf-to-dae', component: ConvertingComponent },
      { path: 'dxf-to-gltf', component: ConvertingComponent },
      { path: 'dxf-to-glb', component: ConvertingComponent },
      { path: 'dxf-to-pdf', component: ConvertingComponent },
      { path: 'dxf-to-html', component: ConvertingComponent },
      { path: 'dxf-to-ply', component: ConvertingComponent },
      { path: 'dxf-to-stl', component: ConvertingComponent },
      { path: 'dxf-to-u3d', component: ConvertingComponent },
      { path: 'ply-to-amf', component: ConvertingComponent },
      { path: 'ply-to-rvm', component: ConvertingComponent },
      { path: 'ply-to-dae', component: ConvertingComponent },
      { path: 'ply-to-gltf', component: ConvertingComponent },
      { path: 'ply-to-glb', component: ConvertingComponent },
      { path: 'ply-to-pdf', component: ConvertingComponent },
      { path: 'ply-to-html', component: ConvertingComponent },
      { path: 'ply-to-stl', component: ConvertingComponent },
      { path: 'ply-to-u3d', component: ConvertingComponent },
      { path: '3mf-to-amf', component: ConvertingComponent },
      { path: '3mf-to-rvm', component: ConvertingComponent },
      { path: '3mf-to-dae', component: ConvertingComponent },
      { path: '3mf-to-gltf', component: ConvertingComponent },
      { path: '3mf-to-glb', component: ConvertingComponent },
      { path: '3mf-to-pdf', component: ConvertingComponent },
      { path: '3mf-to-html', component: ConvertingComponent },
      { path: '3mf-to-ply', component: ConvertingComponent },
      { path: '3mf-to-stl', component: ConvertingComponent },
      { path: '3mf-to-u3d', component: ConvertingComponent }
    ]
  },
  { path: '**', component: ErrorpageComponent }
];

@NgModule({
  imports: [RouterModule.forChild(routes)],
  exports: [RouterModule]
})
export class ThreedRoutingModule { }
